package net.oxygen.upload.request;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * 文件分片上传任务初始化请求
 * <p>
 * 用于创建分片上传任务的请求参数封装，包含文件基本信息和分片配置
 * </p>
 *
 * @author chenweiwei
 * @version 1.0
 * @since 2023-03-24
 */
@Data
@Accessors(chain = true) // 链式调用
@Schema(name = "FileChunkInitTaskReq", description = "文件分片上传任务初始化请求")
public class FileChunkInitTaskReq {

    @Schema(description = "文件名称", required = true, example = "大型测试文件.zip")
    private String fileName;

    @Schema(description = "文件唯一标识（MD5值）", required = true, example = "e12a43fd9e24f6dc325aeb7202dd9e3c")
    private String identifier;

    @Schema(description = "文件总大小（字节）", required = true, example = "104857600")
    private Long totalSize;

    @Schema(description = "分片大小（字节）", required = true, example = "5242880")
    private Long chunkSize;
}
